package com.probox.common.entity.domain.product.vo;


import cn.hutool.core.util.ObjectUtil;
import com.probox.common.entity.domain.platfom.PlatformStore;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/**
 * 商品添加/修改vo
 */
/*
{
	"categoryUid": 1,
	"majorUidOne": [9, 11],
	"pages": "1",
	"numbers": "1",
	"jifen": "1",
	"costPrice": "1",
	"isTraditionDuplicate": true,
	"isAigcDuplicate": true,
	"showFile": "http://resource.tkmall.tongkeer.com/shop/maokun/3a079467dcd442d4bde0aada2d74db77_250819083524",
	"downloadFile": "http://resource.tkmall.tongkeer.com/shop/maokun/c28f4325cc544b698bf6479e647876f4_250819083527",
}
 */
public class ProductSaveVo implements Serializable {
    private Long brandUid;
    private Long categoryUid;
    private Long[] majorUids;
    private Integer pages;
    private Integer numbers;
    private Integer jifen;
    private Integer costPrice;
    private Boolean isTraditionDuplicate;
    private Boolean isAigcDuplicate;
    private String showFile;
    private String downloadFile;
    private String lunwenType;
    private String bannerImg;
    private String carouselImg;
    private String carouselVedio;
    private String detailVedio;
    private String detailImg;
    private String productBarcode;
    private String productName;
    private String productNo;
    private String productSellingPoints;
    private String productWeight;
    private String[] property;
    private Long[] propertyUid;
    private Long[] region;
    private String shareImg;
    private String shareTxt;
    private String supplierUid;
    private Long unitUid;
    private Long[] tagsUid;
    private Long productUid;
    private Long platformUid;
    private Long userUid;
    private String userName;
    private Date Time;
    private Object[] sku;
    private String dataStatus;
    private String productPlaceProvinceName;
    private String productPlaceCityName;
    private String productPlaceAreaName;
    private List<SkuSaveVo> skuSaveVo;
    private Boolean isSku;
    private BigDecimal showPrice;
    private Long warningNumber;
    private List<SkuSpecsVo> specData;
    private String productDesc;
    private String isCategoryRecommend;

    /**
     * 允许菠萝金币支付(1允许/0不允许)
     */
    private String isUseBoluoGoldCoin;

    /**
     * 允许菠萝银币支付(1允许/0不允许)
     */
    private String isUseBoluoSilverCoin;

    /**
     * 允许使用优惠券(1允许/0不允许)
     */
    private String isUseCoupon;


    /**
     * 是否享受会员折扣
     */
    private String isUseMemberDiscount;

    /**
     * 会员等级(哪个等级可以享受折扣)取customerLevel的 customerGrade
     */
    private Long memberLevel;

    /**
     * 菠萝派价格
     */
    private Long boluoHuaPrice;

    /**
     * 门店销售分成
     */
    private Long salePercent;

    /**
     * 门店服务分成
     */
    private Long servicePercent;

    /**
     * 是否通用
     */
    private String isCommon;
    private String haveSku;
    /**
     * 商品ID(服务项目ID/套餐卡ID/商品ID/优惠券ID)
     */
    private List<Long> shopListIds;
    /**
     * 关联门店集合
     */
    private List<PlatformStore> releaseList;


    public ProductSaveVo() {
    }

    public String getHaveSku() {
        return haveSku;
    }

    public void setHaveSku(String haveSku) {
        this.haveSku = haveSku;
    }

    public List<PlatformStore> getReleaseList() {
        return releaseList;
    }

    public void setReleaseList(List<PlatformStore> releaseList) {
        this.releaseList = releaseList;
    }

    public String getBannerImg() {
        return bannerImg;
    }

    public void setBannerImg(String bannerImg) {
        this.bannerImg = bannerImg;
    }

    public String getCarouselImg() {
        return carouselImg;
    }

    public void setCarouselImg(String carouselImg) {
        this.carouselImg = carouselImg;
    }

    public String getDetailImg() {
        return detailImg;
    }

    public void setDetailImg(String detailImg) {
        this.detailImg = detailImg;
    }

    public String getProductBarcode() {
        return productBarcode;
    }

    public void setProductBarcode(String productBarcode) {
        this.productBarcode = productBarcode;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductNo() {
        return productNo;
    }

    public void setProductNo(String productNo) {
        this.productNo = productNo;
    }

    public String getProductSellingPoints() {
        return productSellingPoints;
    }

    public void setProductSellingPoints(String productSellingPoints) {
        this.productSellingPoints = productSellingPoints;
    }


    public String[] getProperty() {
        return property;
    }

    public void setProperty(String[] property) {
        this.property = property;
    }

    public Long[] getRegion() {
        return region;
    }

    public void setRegion(Long[] region) {
        this.region = region;
    }

    public String getShareImg() {
        return shareImg;
    }

    public void setShareImg(String shareImg) {
        this.shareImg = shareImg;
    }


    public String getSupplierUid() {
        return supplierUid;
    }

    public void setSupplierUid(String supplierUid) {
        this.supplierUid = supplierUid;
    }

    public Long getUnitUid() {
        return unitUid;
    }

    public void setUnitUid(Long unitUid) {
        this.unitUid = unitUid;
    }

    public Long[] getTagsUid() {
        return tagsUid;
    }

    public void setTagsUid(Long[] tagsUid) {
        this.tagsUid = tagsUid;
    }

    public Long getMajorUidOne() {
        if (ObjectUtil.isNotEmpty(majorUids)) {
            return majorUids[0];
        }
        return null;
    }

    public Long getMajorUidTwo() {
        if (ObjectUtil.isNotEmpty(majorUids) && majorUids.length > 1) {
            return majorUids[1];
        }
        return null;
    }

    public Long getMajorUidThree() {
        if (ObjectUtil.isNotEmpty(majorUids) && majorUids.length > 2) {
            return majorUids[2];
        }
        return null;
    }

    public String getProvinceCode() {
        if (ObjectUtil.isNotEmpty(region) && region.length > 0) {
            if(ObjectUtil.isNotEmpty(region[0])){
                return region[0].toString();
            }
            return null;
        }
        return null;
    }

    public String getCityCode() {
        if (ObjectUtil.isNotEmpty(region) && region.length > 1) {
            if(ObjectUtil.isNotEmpty(region[1])){
                return region[1].toString();
            }
            return null;
        }
        return null;
    }

    public String getAreaCode() {
        if (ObjectUtil.isNotEmpty(region) && region.length > 2) {
            if(ObjectUtil.isNotEmpty(region[2])){
                return region[2].toString();
            }
            return null;
        }
        return null;
    }

    public Long[] getPropertyUid() {
        return propertyUid;
    }

    public void setPropertyUid(Long[] propertyUid) {
        this.propertyUid = propertyUid;
    }

    public Long getProductUid() {
        return productUid;
    }

    public void setProductUid(Long productUid) {
        this.productUid = productUid;
    }


    public Long getPlatformUid() {
        return platformUid;
    }

    public void setPlatformUid(Long platformUid) {
        this.platformUid = platformUid;
    }

    public Long getUserUid() {
        return userUid;
    }

    public void setUserUid(Long userUid) {
        this.userUid = userUid;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public Date getTime() {
        return Time;
    }

    public void setTime(Date time) {
        Time = time;
    }

    public Object[] getSku() {
        return sku;
    }

    public void setSku(Object[] sku) {
        this.sku = sku;
    }

    public Long getBrandUid() {
        return brandUid;
    }

    public void setBrandUid(Long brandUid) {
        this.brandUid = brandUid;
    }


    public String getProductWeight() {
        return productWeight;
    }

    public void setProductWeight(String productWeight) {
        this.productWeight = productWeight;
    }

    public String getShareTxt() {
        return shareTxt;
    }

    public void setShareTxt(String shareTxt) {
        this.shareTxt = shareTxt;
    }

    public String getCarouselVedio() {
        return carouselVedio;
    }

    public void setCarouselVedio(String carouselVedio) {
        this.carouselVedio = carouselVedio;
    }

    public String getDetailVedio() {
        return detailVedio;
    }

    public void setDetailVedio(String detailVedio) {
        this.detailVedio = detailVedio;
    }

    public String getDataStatus() {
        return dataStatus;
    }

    public void setDataStatus(String dataStatus) {
        this.dataStatus = dataStatus;
    }

    public String getProductPlaceProvinceName() {
        return productPlaceProvinceName;
    }

    public void setProductPlaceProvinceName(String productPlaceProvinceName) {
        this.productPlaceProvinceName = productPlaceProvinceName;
    }

    public String getProductPlaceCityName() {
        return productPlaceCityName;
    }

    public void setProductPlaceCityName(String productPlaceCityName) {
        this.productPlaceCityName = productPlaceCityName;
    }

    public String getProductPlaceAreaName() {
        return productPlaceAreaName;
    }

    public void setProductPlaceAreaName(String productPlaceAreaName) {
        this.productPlaceAreaName = productPlaceAreaName;
    }

    public List<SkuSaveVo> getSkuSaveVo() {
        return skuSaveVo;
    }

    public void setSkuSaveVo(List<SkuSaveVo> skuSaveVo) {
        this.skuSaveVo = skuSaveVo;
    }

    public Boolean getIsSku() {
        return isSku;
    }

    public void setIsSku(Boolean isSku) {
        this.isSku = isSku;
    }


    public BigDecimal getShowPrice() {
        return showPrice;
    }

    public void setShowPrice(BigDecimal showPrice) {
        this.showPrice = showPrice;
    }

    public Long getWarningNumber() {
        return warningNumber;
    }

    public void setWarningNumber(Long warningNumber) {
        this.warningNumber = warningNumber;
    }

    public List<SkuSpecsVo> getSpecData() {
        return specData;
    }

    public void setSpecData(List<SkuSpecsVo> specData) {
        this.specData = specData;
    }


    public String getProductDesc() {
        return productDesc;
    }

    public void setProductDesc(String productDesc) {
        this.productDesc = productDesc;
    }

    public String getIsCategoryRecommend() {
        return isCategoryRecommend;
    }

    public void setIsCategoryRecommend(String isCategoryRecommend) {
        this.isCategoryRecommend = isCategoryRecommend;
    }



    public String getIsUseBoluoGoldCoin() {
        return isUseBoluoGoldCoin;
    }

    public void setIsUseBoluoGoldCoin(String isUseBoluoGoldCoin) {
        this.isUseBoluoGoldCoin = isUseBoluoGoldCoin;
    }

    public String getIsUseBoluoSilverCoin() {
        return isUseBoluoSilverCoin;
    }

    public void setIsUseBoluoSilverCoin(String isUseBoluoSilverCoin) {
        this.isUseBoluoSilverCoin = isUseBoluoSilverCoin;
    }

    public Long[] getMajorUids() {
        return majorUids;
    }

    public void setMajorUids(Long[] majorUids) {
        this.majorUids = majorUids;
    }

    public String getIsUseCoupon() {
        return isUseCoupon;
    }

    public void setIsUseCoupon(String isUseCoupon) {
        this.isUseCoupon = isUseCoupon;
    }

    public String getIsUseMemberDiscount() {
        return isUseMemberDiscount;
    }

    public void setIsUseMemberDiscount(String isUseMemberDiscount) {
        this.isUseMemberDiscount = isUseMemberDiscount;
    }

    public Long getMemberLevel() {
        return memberLevel;
    }

    public void setMemberLevel(Long memberLevel) {
        this.memberLevel = memberLevel;
    }

    public Long getBoluoHuaPrice() {
        return boluoHuaPrice;
    }

    public void setBoluoHuaPrice(Long boluoHuaPrice) {
        this.boluoHuaPrice = boluoHuaPrice;
    }

    public Long getSalePercent() {
        return salePercent;
    }

    public void setSalePercent(Long salePercent) {
        this.salePercent = salePercent;
    }

    public Long getServicePercent() {
        return servicePercent;
    }

    public void setServicePercent(Long servicePercent) {
        this.servicePercent = servicePercent;
    }

    public String getIsCommon() {
        return isCommon;
    }

    public void setIsCommon(String isCommon) {
        this.isCommon = isCommon;
    }

    public List<Long> getShopListIds() {
        return shopListIds;
    }

    public void setShopListIds(List<Long> shopListIds) {
        this.shopListIds = shopListIds;
    }

    public Long getCategoryUid() {
        return categoryUid;
    }

    public void setCategoryUid(Long categoryUid) {
        this.categoryUid = categoryUid;
    }

    public Integer getPages() {
        return pages;
    }

    public void setPages(Integer pages) {
        this.pages = pages;
    }

    public Integer getNumbers() {
        return numbers;
    }

    public void setNumbers(Integer numbers) {
        this.numbers = numbers;
    }

    public Integer getJifen() {
        return jifen;
    }

    public void setJifen(Integer jifen) {
        this.jifen = jifen;
    }

    public Integer getCostPrice() {
        return costPrice;
    }

    public void setCostPrice(Integer costPrice) {
        this.costPrice = costPrice;
    }

    public Boolean getIsTraditionDuplicate() {
        return isTraditionDuplicate;
    }

    public void setIsTraditionDuplicate(Boolean traditionDuplicate) {
        isTraditionDuplicate = traditionDuplicate;
    }

    public Boolean getIsAigcDuplicate() {
        return isAigcDuplicate;
    }

    public void setIsAigcDuplicate(Boolean aigcDuplicate) {
        isAigcDuplicate = aigcDuplicate;
    }

    public String getShowFile() {
        return showFile;
    }

    public void setShowFile(String showFile) {
        this.showFile = showFile;
    }

    public String getDownloadFile() {
        return downloadFile;
    }

    public void setDownloadFile(String downloadFile) {
        this.downloadFile = downloadFile;
    }

    public String getLunwenType() {
        return lunwenType;
    }

    public void setLunwenType(String lunwenType) {
        this.lunwenType = lunwenType;
    }
}
